草庐IT

c++ - GCC、Unicode 和 __FUNCTION__

全部标签

c++ - FFmpeg 库 : Exactly constant segment duration for HLS

我们正在使用FFmpeg库git-ee94362libavformatv55.2.100。我们的目的是使用HLS将两个流(视频和音频)混合到M3U8播放列表中。此外,我们希望每个TS片段文件的持续时间正好为3.0秒(帧速率为25fps)。为了实现它,我们尝试设置几个选项和属性,即:-分段时间-keyint_min-scenechange_threshold-gop_size-force_key_frames。我们的代码如下所示:AVCodecContext*codec_ctx=NULL;AVFormatContext*ofmt_ctx=NULL;intret=0,gopSize=(in

c++ - 使用 fprintf 获取访问冲突写入位置 0x00000014

我在VisualStudio2010上工作。该程序本身最初是为CUDA的future端口设计的,所以一切都准备好了,但现在我只是测试它是否适用于纯C++(实际上我现在正尝试坚持使用c,因为我对它更熟悉)。相关代码为:#defineNMBR_EXP_ENERGIES21#defineNMBR_Ls3#defineNMBR_POINTS20000intNMBR_EXP_ENERGIES_L[NMBR_Ls];voidwrite_results(double**u,int*NmbrNodes,int*div){constcharprefix[]="wave_function_";charfi

c++ - 读取控制台调色板的 RGB 值

肉类在C或C++中有什么方法可以直接读取调色板的RGB值吗?特别有趣的是xterm(和其他)使用的扩展颜色空间来定义多达256种终端颜色。土bean典型的例子是我想定义自己的颜色(使用ANSI转义序列,例如\e]4;3;rgb:cc/78/33\e\\,或者直接在c)中,但我需要在重新定义用户颜色之前保存它们(万一他们已经重新定义了颜色),以便我可以在程序完成时恢复它们。破坏用户设置并不好。现在我的目标是使用ANSI转义序列以客户端方式执行此操作。但由于我找不到如何获得颜色,所以我开始考虑用C或C++代替。该解决方案将编写为具有native扩展(基本上是嵌入式c或c++代码)的ruby

c++ - 解决循环依赖难题 "elegantly"

所以我正在开发一种编程语言,它可以编译为字节码以供VM执行,也可以编译为C作为中间语言以编译为native二进制文件。我选择C​​是因为它足够低级且可移植,通过重用现有编译器而不必编写编译器来为每个不同的平台及其异常情况进行汇编,从而节省了大量工作。但是现有的编译器有其缺点,其中之一就是循环依赖问题。我想以一种优雅的方式(与C/C++不同)解决循环依赖,而无需笨拙的前向声明,不必使用指针和额外的间接寻址和浪费的内存,不必将声明与定义分开等等......换句话说,像某些编程语言一样,将此问题从开发人员手中拿走。在我看来,当前C/C++编译器的主要问题是它们无法“展望future”,即使它

c++ - 确定哪个信号导致了 EINTR?

我正在运行一个epoll循环,有时我对epoll_wait的调用返回-1,errno设置为EINTR。有时,我希望这样可以结束epoll循环,例如SIGTERM或SIGINT。但是我用-pg标志编译了这段代码,因此会发出周期性的SIGPROF(27)信号来停止我的循环。那么...是否可以打开signum以便我可以确定何时退出或继续?我想避免使用全局变量来跟踪最近发射的信号。 最佳答案 在SIGTERM和SIGINT上添加信号处理程序。在这些处理程序中,您设置了一个变量,您可以在主epoll循环中检查该变量

c++ - GCC 4.6.3 - 模板特化受优化级别影响?

在我正在开发的应用程序中,我有一个这样的模板函数:templatevoidCIO::writeln(Titem){stringstreamss;ss这个函数从几个地方调用,T=constchar*和T=std::string。使用CodeSourceryLite2008.03-41(GCC4.3.2),此编译和链接很好,带有-O3编译器标志。但是,由于我更改为CodeSourceryLite2012.03-57(GCC4.6.3),使用-O3进行编译是可以的,但随后链接失败并显示undefinedreferencetovoidCIO::writeln(std::string)。.使用-

c++ - 如何检查C++中字符的unicode值范围

我是C++新手,没有CS背景。因此,如果这个问题很愚蠢或者之前有人回答过,请原谅。我有一个C++的字符串,语言是泰卢固语。std::stringstr="ఉంది";//(itmeansexists;pronouncedasVundi)std::stringsubstring=str.substr(0,3);上面的子字符串是“ఉ”(发音为Vu),它的unicode十六进制值为0C09。如何从子字符串中获取值0C09?目的是检查子字符串是否在泰卢固语的有效范围内(0C00–0C7F)。我看到了其他适用于obj-c、java、php、c#等的问题。我正在寻找专门针对使用std::strin

c++ - GCC 消耗太多内存!!图形工具

编译时graph-toolgcc编译器消耗了超过7Gb的内存,并且在消耗越来越多之后什么也没有发生,我被迫停止编译。我试图嵌入acompilersuffix:CFLAGS="$CFLAGS--paramggc-min-expand=0--paramggc-min-heapsize=8192"但我无法将它带入./configure过程。有人知道这个问题吗?(应该没什么区别,但我的操作系统是Archlinux-64)编辑(1):我现在能够添加CFLAGS进行配置,但它继续消耗无限数量的内存。我的Gcc版本是4.8.2!编辑(2):新版图形工具(2.2.28)解决了我的问题,因为他们修复了这

C++ 11 绑定(bind) std::function 与存储元组和解包

首先,我对C++11还是比较陌生,所以如果我遗漏了什么,请原谅我的疏忽。所以我想做的基本上是让调用者传入一个函数和该函数的任意参数,将其存储起来,然后稍后异步调用它。似乎有2个主要选项:使用std::bind将std::function绑定(bind)到它的参数(使用可变参数模板获得),然后稍后调用它将参数包转换为一个元组,存储它和std::function,然后再次将元组解压为多个参数并使用它调用函数问题是,一种方法比另一种更好吗?两者之间有优缺点/性能优势吗?谢谢!编辑:根据要求,这里有一个澄清,第一种情况是更早的绑定(bind),我将args绑定(bind)到函数,只要调用者传递

c++ - 错误 : no instance of overloaded function

我正在尝试使用以下代码在我的数据库(SQLServer2008)中插入一些行:CDB.cpp#include"CDB.h"voidCDB::ajouterAlerte(){SqlConnection^mySQLConnection;SqlDataAdapter^myDataAdapter;DataSet^myDataSet;DataRow^myRow;SqlParameter^myParameter;try{mySQLConnection=gcnewSqlConnection("DataSource=NECTARYS-PC;InitialCatalog=MonitoringN;Inte